<?php if ( ! defined('BASEPATH')) exit('No direct script access allowed');
header("Content-Type: text/html; charset=utf-8");
class AdminArchivos extends CI_Controller {
	
	public function index($cat=""){
		$cat=urldecode($cat);
		$data['session_user'] = $this->session->userdata('session_user');
		$data['archs']=$this->listarArchivos();
		$data['cats']=$this->listarCategorias();
		$data['titulo']="Archivos";
		$data['accion']="Listar";
		$data['cat']="";
		$data['mensaje']=NULL;
		$uriN=3;
		if ($cat!="" and !is_numeric($cat)) {
		$uriN=4;
		$data['archs']=$this->listarArchivosCategorias($cat);
		$data['cat']=$cat;
	}

	

	$this->load->helper('url');
		$this->load->model('archivo_modelo');
		if($this->uri->segment($uriN))
            {
                $pagina=$this->uri->segment($uriN);
            }else
            {
               $pagina=0;
            }

		$data['cuantos']=$this->archivo_modelo->ContarTodos();

		$config['base_url'] = base_url().'index.php/adminArchivos/index';
		$config['total_rows'] = $data['cuantos'];
		$config['per_page'] = 10;
		$config['uri_segment'] = $uriN;
		$config['num_links'] = '8';
		


if ($cat!="" and !is_numeric($cat)) {
		$uriN=4;
		$data['cuantos']=$this->archivo_modelo->ContarArchivoCategoria($cat);

		$config['base_url'] = base_url().'index.php/adminArchivos/index'."/".$cat;
		$config['total_rows'] = $data['cuantos'];
		$config['uri_segment'] = $uriN;
		$data['cat']=$cat;
	}
		
		$this->pagination->initialize($config);
	
		$data['archs']=$this->listarArchivos($config['per_page'],$pagina);

if ($cat!="" and !is_numeric($cat)) 		$data['archs']=$this->listarArchivosCategorias($cat,$config['per_page'],$pagina);


		if($data['session_user']!=NULL){
			$this->load->view('admin/admin_archivos.php',$data);//HAY QUE CAMBIARLA Y HACER UNA LISTA DE TODOS LOS ARCHIVOS

		}
		else {
			$data['session_user'] = NULL;
			$data['mensaje']="Debes Iniciar Sesion";
			$this->load->view('admin/login.php',$data);
		}

	}



public function MostrarArchivos($data){

	$data['session_user'] = $this->session->userdata('session_user');
	$data['cat']="";
		
		$data['titulo']="Archivos";

		//$data['mensaje']=NULL;
		

	$this->load->helper('url');
		$this->load->model('archivo_modelo');
		if($this->uri->segment(3))
            {
                $pagina=$this->uri->segment(3);
            }else
            {
               $pagina=0;
            }

		$data['cuantos']=$this->archivo_modelo->ContarTodos();

		$config['base_url'] = base_url().'index.php/adminArchivos/index';
		$config['total_rows'] = $data['cuantos'];
		$config['per_page'] = 10;
		$config['uri_segment'] = '3';
		$config['num_links'] = '8';
		

		$this->pagination->initialize($config);

		$data['archs']=$this->listarArchivos($config['per_page'],$pagina);

		if($data['session_user']!=NULL){
			$this->load->view('admin/admin_archivos.php',$data);//HAY QUE CAMBIARLA Y HACER UNA LISTA DE TODOS LOS ARCHIVOS

		}
		else {
			$data['session_user'] = NULL;
			$data['mensaje']="Debes Iniciar Sesion";
			$this->load->view('admin/login.php',$data);
		}


}
	public function agregar(){
		$data['titulo']="Archivos";
		$data['accion']="Agregar";
		$data['cats']=$this->listarCategorias();
$data['archivo']=NULL;
		$this->load->view('admin/form_archivo.php',$data);

		}



	public function agregarArchivo(){
		$cat=$this->input->post("categoria");
		$titulo=$this->input->post("titulo");

	

		$data['session_user'] = $this->session->userdata('session_user');
		$data['archs']=$this->listarArchivos();
		$data['cats']=$this->listarCategorias();
		$data['titulo']="Archivos";
		$data['accion']="alert-error";
		$data['cat']="";
		$data['mensaje']="Error al subir el archivo, debe llenar todos los campos";
		
		if($_FILES["archivo"]["name"]!="" and $titulo!=""){
		$data['accion']="alert-success";
		$data['mensaje']="Su archivo ha sido agregado exitosamente...";
	
		$file=$this->do_upload($this,$cat);

		$nombreArchivo=$file['upload_data']["file_name"];

		$this->load->model('archivo_modelo');
		
		echo $nombreArchivo;

		$r=$this->archivo_modelo->InsertarArchivo($titulo,$cat,$nombreArchivo);
}
		$data['archs']=$this->listarArchivos();

$this->MostrarArchivos($data);		//$this->load->view('admin/admin_archivos.php',$data);

		}

public function editar($id){
		$data['accion']="Editar";
		$data['titulo']="Archivos";
		$this->load->model('archivo_modelo');
		$data['archivo']=$this->archivo_modelo->ObtenerArchivo($id);

		$data['cats']=$this->listarCategorias();
		$this->load->view('admin/form_archivo.php',$data);

		}

public function editarArchivo(){

$cat=$this->input->post("categoria");
	$titulo=$this->input->post("titulo");
$id=$this->input->post("id");


$data['session_user'] = $this->session->userdata('session_user');
		$data['archs']=$this->listarArchivos();
		$data['cats']=$this->listarCategorias();
		$data['titulo']="Archivos";
		$data['accion']="alert-success";
		$data['cat']="";
		$data['mensaje']="Su archivo ha sido modificado exitosamente...";
		$this->load->model('archivo_modelo');
	$archivo=$this->archivo_modelo->ObtenerArchivo($id);
if($titulo=="")$titulo=$archivo[0]->nombre;

echo exec("mv /var/www/hmservi/archivos/".$archivo[0]->categoria."/".$archivo[0]->ruta." /var/www/hmservi/archivos/".$cat."/".$archivo[0]->ruta );
	 $this->archivo_modelo->EditarArchivo($id,$titulo,$cat);
		
		$this->MostrarArchivos($data);	
		//$this->load->view('admin/admin_archivos.php',$data);

		}

	public function listarCategorias(){

	$this->load->model('categoria_modelo');
	$lista=$this->categoria_modelo->ListarCategoria();
	return $lista;

	}

	public function listarArchivos($l=10,$o=5){

	$this->load->model('archivo_modelo');
	$lista=$this->archivo_modelo->ListarArchivosAdmin($l,$o);
	return $lista;

	}


public function listarArchivosCategorias($cat,$l=10,$o=5){

	$this->load->model('archivo_modelo');
	$lista=$this->archivo_modelo->ListarArchivoCategoriaAdmin($cat,$l,$o);
	return $lista;

	}


public function eliminar($id){

$data['session_user'] = $this->session->userdata('session_user');
		$data['archs']=$this->listarArchivos();
		$data['cats']=$this->listarCategorias();
		$data['titulo']="Archivos";
		$data['accion']="alert-success";
		$data['cat']="";
		$data['mensaje']="Su archivo ha sido eliminado exitosamente...";

	$this->load->model('archivo_modelo');
	$archivo=$this->archivo_modelo->ObtenerArchivo($id);
	$this->archivo_modelo->EliminarArchivo($id);

$data['archs']=$this->listarArchivos();


		$this->MostrarArchivos($data);	

		//$this->load->view('admin/admin_archivos.php',$data);


echo exec("rm -rf /var/www/hmservi/archivos/".$archivo[0]->categoria."/".$archivo[0]->ruta);
	

	}

	public function do_upload($objeto,$cat="")
	{
		$config['upload_path'] = '/var/www/hmservi/archivos/'.$cat;
		$config['allowed_types'] = '*';
		$config['max_size']	= '1500000';

		$objeto->load->library('upload', $config);

		if ( ! $objeto->upload->do_upload('archivo'))
		{
			$error= $objeto->upload->display_errors();

			//~ $this->load->view('upload_form', $error);
			echo $error;
			
		}
		else
		{
			$r = array('upload_data' => $objeto->upload->data());
			return $r;
			//~ $this->load->view('upload_success', $data);
			//~ return $r['orig_name'];
			
			
		}
	}

	
}

?>
